
#include "BulletCacheManager.h"



BulletCacheManager::BulletCacheManager()
{
}

BulletCacheManager::~BulletCacheManager()
{
}

//BulletCacheManager* BulletCacheManager::getInstance()
//{
//   // if (mInstance==NULL) {
//   //     mInstance = new BulletCacheManager();
//   //     if (!mInstance->init()) {
//			////断言
//   //         CCAssert(0, "BulletCacheManager init failed!");
//   //     }
//   // }
//   // 
//   // return mInstance;
//	return NULL;
//}


//bool BulletCacheManager::init()
//{
//	//bool ret = false;
//	//
//	//do {
//	//    // 将子弹图片资源根据索引plist文件加载到内存中
//	//    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("bullet.plist");
//	//    // 构造子弹批处理
//	//    mBulletBatch = CCSpriteBatchNode::batchNodeWithFile("bullet.png");
//	//    
//	//    for (int i=0; i<BULLET_CACHE_CAPACITY; ++i) {
//	//        Bullet *bullet = Bullet::create();
//	//        bullet->setIsVisible(false);
//	//        mBulletBatch->addChild(bullet);
//	//    }
//	//    
//	//    mNextInactiveBulletIndex = 0;
//	//    
//	//    ret = true;
//	//} while (0);
//	//
//	//return ret;
//	return true;
//}


void BulletCacheManager::shoot(CCPoint pStartPos, CCPoint pVelocity, float pRotation, BULLET_TAG pBulletTag)
{
    // TODO 获取一个不在当前显示的子弹，设置其起始位置，速度，旋转角度等属性
 //   CCArray *bullets = mBulletBatch->getChildren();
 //   CCObject *object = bullets->objectAtIndex(mNextInactiveBulletIndex);
 //   Bullet *bullet = (Bullet*) object;
 //   
 //   // 设置子弹属性
	//char frameName[256] = { 0 };
	//int power = 0;
 //   switch (pBulletTag) {
	//	//玩家子弹
 //       case BULLET_TAG_PLAYER:
	//		sprintf(frameName, "W1.png");
 //           power = 2;
 //           break;
 //       //敌人子弹
 //       case BULLET_TAG_ENEMY:
	//		sprintf(frameName, "W2.png");
 //           power = 1;
 //           break;
 //           
 //       default:
 //           CCAssert(0, "Bad BulletTag");
 //           break;
 //   }
 //   bullet->initWithSpriteFrameName(frameName);
 //   bullet->mPower= power;
 //   bullet->setPosition(pStartPos);
	//bullet->mVelocity=pVelocity;
 //   bullet->setRotation(pRotation);
	//bullet->setVisible(true);

 //   ++mNextInactiveBulletIndex;
 //   if (mNextInactiveBulletIndex >= mBulletBatch->getChildrenCount()) {
 //       mNextInactiveBulletIndex = 0;
 //   }
}

void BulletCacheManager::update(float dt)
{
  //  CCArray *array = mBulletBatch->getChildren();
  //  CCObject *object = NULL;
  //  //遍历
  //  CCARRAY_FOREACH(array, object)
  //  {
  //      Bullet *bullet = (Bullet*) object;
		//if(bullet->isVisible()){
		//	 bullet->update(dt);
		//}
  //  }
}



